# Title: Numeros primos
# Autho:Laguna Hernandez Biridiana 14210508
# Description:Numeros primos
# Input:-
# Output: Numeros primos



@ NumPrimo.s
@GDC algorithm(example from knuth TAOCP, p.9)

@ r1 Mantiene el primer valor
@ r0 Matiene el segundo

.section      .data
vals:
    .long 6099, 2166
.section      .text
.globl    _start
    
_start:
    ldr r2, =vals          @ Hacemos r1 punto de inicio del vals
    ldr r1, [r2]           @ Cargamos el primer numero en r2
    ldr r0, [r2, #4]       @ Cargamos el segundo numero en r0
    
gdc:
   cmp r0, r1             @ Comparamos r0 y r1
   subgt r0, r0, r1       @ Si r0 > r1, r0 = r0 - r1
   sublt r1, r1, r0       @ Si r0 < r1, r1 = r1 - 0
   bne gcd                @ Si r0 != r1, repetir
   
   mov    r7, $1          @ Preparar para salir
   swi    0               @ Despertar kernel
   
   .end
